﻿using System;
using System.Collections.Generic;
using System.Web;
using System.Web.Services;
using System.Configuration;
using System.Data;
using Model;
using System.Linq;

namespace WSsig
{
    /// <summary>
    /// Summary description for WebServiceViaticos
    /// </summary>
    [WebService(Namespace = "http://tempuri.org/")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    [System.ComponentModel.ToolboxItem(false)]

    public class WebServiceViaticos : System.Web.Services.WebService
    {

        [WebMethod]
        public DataTable ConsultarDependencias(string user, string clave)
        {
            DataSet ds = null;
            try
            {

                /////////////////////////////////////////////////////
                //                 DEPENDENCIA
                /////////////////////////////////////////////////////
                ds = new DataSet();
                DataTable masterTable = new DataTable();
                masterTable.Columns.Add("DEP_ID", typeof(String));
                masterTable.Columns.Add("DEP_NOMBRE", typeof(String));
                masterTable.Columns.Add("DEP_ID_PADRE", typeof(String));
                masterTable.Columns.Add("DEP_ENTIDAD", typeof(String));



                masterTable.PrimaryKey = new DataColumn[] { masterTable.Columns["DEP_ID"] };

                ds.Tables.AddRange(new DataTable[] { masterTable });
                //Session["DataSetRiesgos"] = dsRiesgos;



                DataClassesServiciosWebDataContext contexto = new DataClassesServiciosWebDataContext(ConfigurationManager.AppSettings["Conn"].ToString());
                var datos = (from a in contexto.BAS_DEPENDENCIAs
                             //join b in contexto.ART_TIPO_PRODUCTORs on a.ATP_ID equals b.ATP_ID
                             //join c in contexto.ART_ENTIDADES_ARTE_NUMERO_REGISTROs on a.ENT_ID equals c.ENT_ID
                             //join d in contexto.BAS_TIPOS_DOCUMENTOS_IDENTIDADs on a.DOC_ID_ENTIDAD equals d.DOC_ID

                             select a);


                if (ConfigurationManager.AppSettings["Usuario"].ToString() == user && ConfigurationManager.AppSettings["Clave"].ToString() == clave)
                    foreach (var v in datos)
                    {
                        DataRow row = ds.Tables[0].NewRow();
                        row["DEP_ID"] = v.DEP_ID;
                        row["DEP_NOMBRE"] = v.DEP_NOMBRE;
                        row["DEP_ID_PADRE"] = v.DEP_ID_PADRE;
                        row["DEP_ENTIDAD"] = v.DEP_ENTIDAD;
                        ds.Tables[0].Rows.Add(row);
                    }


            }
            catch (Exception ex)
            {

                string strAlgo = ex.Message.ToString();
            }

            return ds.Tables[0];
        }


        [WebMethod]
        public DataTable ConsultarDependenciasDepId(string user, string clave, string DepId)
        {
            DataSet ds = null;
            try
            {

                /////////////////////////////////////////////////////
                //                 DEPENDENCIA
                /////////////////////////////////////////////////////
                ds = new DataSet();
                DataTable masterTable = new DataTable();
                masterTable.Columns.Add("DEP_ID", typeof(String));
                masterTable.Columns.Add("DEP_NOMBRE", typeof(String));
                masterTable.Columns.Add("DEP_ID_PADRE", typeof(String));
                masterTable.Columns.Add("DEP_ENTIDAD", typeof(String));



                masterTable.PrimaryKey = new DataColumn[] { masterTable.Columns["DEP_ID"] };

                ds.Tables.AddRange(new DataTable[] { masterTable });
                //Session["DataSetRiesgos"] = dsRiesgos;



                DataClassesServiciosWebDataContext contexto = new DataClassesServiciosWebDataContext(ConfigurationManager.AppSettings["Conn"].ToString());
                var datos = (from a in contexto.BAS_DEPENDENCIAs
                             where a.DEP_ID == DepId
                             //join b in contexto.ART_TIPO_PRODUCTORs on a.ATP_ID equals b.ATP_ID
                             //join c in contexto.ART_ENTIDADES_ARTE_NUMERO_REGISTROs on a.ENT_ID equals c.ENT_ID
                             //join d in contexto.BAS_TIPOS_DOCUMENTOS_IDENTIDADs on a.DOC_ID_ENTIDAD equals d.DOC_ID

                             select a);


                if (ConfigurationManager.AppSettings["Usuario"].ToString() == user && ConfigurationManager.AppSettings["Clave"].ToString() == clave)
                    foreach (var v in datos)
                    {
                        DataRow row = ds.Tables[0].NewRow();
                        row["DEP_ID"] = v.DEP_ID;
                        row["DEP_NOMBRE"] = v.DEP_NOMBRE;
                        row["DEP_ID_PADRE"] = v.DEP_ID_PADRE;
                        row["DEP_ENTIDAD"] = v.DEP_ENTIDAD;
                        ds.Tables[0].Rows.Add(row);
                    }


            }
            catch (Exception ex)
            {

                string strAlgo = ex.Message.ToString();
            }

            return ds.Tables[0];
        }

        [WebMethod]
        public DataTable ConsultarDependenciasDepIdPadre(string user, string clave, string DepIdPadre)
        {
            DataSet ds = null;
            try
            {

                /////////////////////////////////////////////////////
                //                 DEPENDENCIA
                /////////////////////////////////////////////////////
                ds = new DataSet();
                DataTable masterTable = new DataTable();
                masterTable.Columns.Add("DEP_ID", typeof(String));
                masterTable.Columns.Add("DEP_NOMBRE", typeof(String));
                masterTable.Columns.Add("DEP_ID_PADRE", typeof(String));
                masterTable.Columns.Add("DEP_ENTIDAD", typeof(String));



                masterTable.PrimaryKey = new DataColumn[] { masterTable.Columns["DEP_ID"] };

                ds.Tables.AddRange(new DataTable[] { masterTable });
                //Session["DataSetRiesgos"] = dsRiesgos;



                DataClassesServiciosWebDataContext contexto = new DataClassesServiciosWebDataContext(ConfigurationManager.AppSettings["Conn"].ToString());
                var datos = (from a in contexto.BAS_DEPENDENCIAs
                             where a.DEP_ID_PADRE == DepIdPadre
                             //join b in contexto.ART_TIPO_PRODUCTORs on a.ATP_ID equals b.ATP_ID
                             //join c in contexto.ART_ENTIDADES_ARTE_NUMERO_REGISTROs on a.ENT_ID equals c.ENT_ID
                             //join d in contexto.BAS_TIPOS_DOCUMENTOS_IDENTIDADs on a.DOC_ID_ENTIDAD equals d.DOC_ID

                             select a);


                if (ConfigurationManager.AppSettings["Usuario"].ToString() == user && ConfigurationManager.AppSettings["Clave"].ToString() == clave)
                    foreach (var v in datos)
                    {
                        DataRow row = ds.Tables[0].NewRow();
                        row["DEP_ID"] = v.DEP_ID;
                        row["DEP_NOMBRE"] = v.DEP_NOMBRE;
                        row["DEP_ID_PADRE"] = v.DEP_ID_PADRE;
                        row["DEP_ENTIDAD"] = v.DEP_ENTIDAD;
                        ds.Tables[0].Rows.Add(row);
                    }


            }
            catch (Exception ex)
            {

                string strAlgo = ex.Message.ToString();
            }

            return ds.Tables[0];
        }


        [WebMethod]
        public DataTable ConsultarRubrosPresupuestales(string user, string clave)
        {
            DataSet ds = null;
            try
            {

                /////////////////////////////////////////////////////
                //                 DEPENDENCIA
                /////////////////////////////////////////////////////
                ds = new DataSet();
                DataTable masterTable = new DataTable();


                //corresponde al rubro
                masterTable.Columns.Add("PLN_ID", typeof(Decimal));
                masterTable.Columns.Add("PND_ID", typeof(Decimal));
                masterTable.Columns.Add("CLS_ID", typeof(Decimal));
                masterTable.Columns.Add("CLS_NOMBRE", typeof(String));
                //corresponde a Dependencia
                masterTable.Columns.Add("DEP_ID", typeof(String));

                masterTable.Columns.Add("PLN_ANO", typeof(String));
                masterTable.Columns.Add("PLN_NOMBRE", typeof(String));
                masterTable.Columns.Add("PLN_CODIGO_PRESUPUESTAL", typeof(String));
                masterTable.Columns.Add("PLN_VALOR_APROPIACION", typeof(String));




                masterTable.PrimaryKey = new DataColumn[] { masterTable.Columns["PLN_ID"] };

                ds.Tables.AddRange(new DataTable[] { masterTable });
                //Session["DataSetRiesgos"] = dsRiesgos;



                DataClassesServiciosWebDataContext contexto = new DataClassesServiciosWebDataContext(ConfigurationManager.AppSettings["Conn"].ToString());
                var datos = (from a in contexto.SIG_PLAN_ACCIONs
                             join b in contexto.BAS_DEPENDENCIAs on a.DEP_ID equals b.DEP_ID
                             join c in contexto.SIG_TIPO_CLASIFICACIONs on a.CLS_ID equals c.CLS_ID
                             //join d in contexto.BAS_TIPOS_DOCUMENTOS_IDENTIDADs on a.DOC_ID_ENTIDAD equals d.DOC_ID

                             select new
                             {
                                 a.PLN_ID,
                                 a.PND_ID,
                                 a.CLS_ID,
                                 c.CLS_NOMBRE,
                                 a.DEP_ID,
                                 a.PLN_ANO,
                                 a.PLN_NOMBRE,
                                 a.PLN_CODIGO_PRESUPUESTAL,
                                 a.PLN_VALOR_APROPIACION
                             }
                             );


                if (ConfigurationManager.AppSettings["Usuario"].ToString() == user && ConfigurationManager.AppSettings["Clave"].ToString() == clave)
                    foreach (var v in datos)
                    {
                        DataRow row = ds.Tables[0].NewRow();
                        row["PLN_ID"] = v.PLN_ID;
                        row["PND_ID"] = v.PND_ID;
                        row["CLS_ID"] = v.CLS_ID;
                        row["CLS_NOMBRE"] = v.CLS_NOMBRE;
                        row["DEP_ID"] = v.DEP_ID;
                        row["PLN_ANO"] = v.PLN_ANO;
                        row["PLN_NOMBRE"] = v.PLN_NOMBRE;
                        row["PLN_CODIGO_PRESUPUESTAL"] = v.PLN_CODIGO_PRESUPUESTAL;
                        row["PLN_VALOR_APROPIACION"] = v.PLN_VALOR_APROPIACION;
                        ds.Tables[0].Rows.Add(row);
                    }


            }
            catch (Exception ex)
            {

                string strAlgo = ex.Message.ToString();
            }

            return ds.Tables[0];
        }

        [WebMethod]
        public DataTable ConsultarRubrosPresupuestalesPlnId(string user, string clave, string strPlnId)
        {
            DataSet ds = null;
            try
            {

                /////////////////////////////////////////////////////
                //                 DEPENDENCIA
                /////////////////////////////////////////////////////
                ds = new DataSet();
                DataTable masterTable = new DataTable();


                //corresponde al rubro
                masterTable.Columns.Add("PLN_ID", typeof(Decimal));
                masterTable.Columns.Add("PND_ID", typeof(Decimal));
                masterTable.Columns.Add("CLS_ID", typeof(Decimal));
                masterTable.Columns.Add("CLS_NOMBRE", typeof(String));
                //corresponde a Dependencia
                masterTable.Columns.Add("DEP_ID", typeof(String));

                masterTable.Columns.Add("PLN_ANO", typeof(String));
                masterTable.Columns.Add("PLN_NOMBRE", typeof(String));
                masterTable.Columns.Add("PLN_CODIGO_PRESUPUESTAL", typeof(String));
                masterTable.Columns.Add("PLN_VALOR_APROPIACION", typeof(String));




                masterTable.PrimaryKey = new DataColumn[] { masterTable.Columns["PLN_ID"] };

                ds.Tables.AddRange(new DataTable[] { masterTable });
                //Session["DataSetRiesgos"] = dsRiesgos;



                DataClassesServiciosWebDataContext contexto = new DataClassesServiciosWebDataContext(ConfigurationManager.AppSettings["Conn"].ToString());
                var datos = (from a in contexto.SIG_PLAN_ACCIONs
                             join b in contexto.BAS_DEPENDENCIAs on a.DEP_ID equals b.DEP_ID
                             join c in contexto.SIG_TIPO_CLASIFICACIONs on a.CLS_ID equals c.CLS_ID
                             //join d in contexto.BAS_TIPOS_DOCUMENTOS_IDENTIDADs on a.DOC_ID_ENTIDAD equals d.DOC_ID
                             where a.PLN_ID == Convert.ToDecimal(strPlnId)
                             select new
                             {
                                 a.PLN_ID,
                                 a.PND_ID,
                                 a.CLS_ID,
                                 c.CLS_NOMBRE,
                                 a.DEP_ID,
                                 a.PLN_ANO,
                                 a.PLN_NOMBRE,
                                 a.PLN_CODIGO_PRESUPUESTAL,
                                 a.PLN_VALOR_APROPIACION
                             }
                             );


                if (ConfigurationManager.AppSettings["Usuario"].ToString() == user && ConfigurationManager.AppSettings["Clave"].ToString() == clave)
                    foreach (var v in datos)
                    {
                        DataRow row = ds.Tables[0].NewRow();
                        row["PLN_ID"] = v.PLN_ID;
                        row["PND_ID"] = v.PND_ID;
                        row["CLS_ID"] = v.CLS_ID;
                        row["CLS_NOMBRE"] = v.CLS_NOMBRE;
                        row["DEP_ID"] = v.DEP_ID;
                        row["PLN_ANO"] = v.PLN_ANO;
                        row["PLN_NOMBRE"] = v.PLN_NOMBRE;
                        row["PLN_CODIGO_PRESUPUESTAL"] = v.PLN_CODIGO_PRESUPUESTAL;
                        row["PLN_VALOR_APROPIACION"] = v.PLN_VALOR_APROPIACION;
                        ds.Tables[0].Rows.Add(row);
                    }


            }
            catch (Exception ex)
            {

                string strAlgo = ex.Message.ToString();
            }

            return ds.Tables[0];
        }

        [WebMethod]
        public DataTable ConsultarRubrosPresupuestalesDepId(string user, string clave, string strDepId)
        {
            DataSet ds = null;
            try
            {

                /////////////////////////////////////////////////////
                //                 DEPENDENCIA
                /////////////////////////////////////////////////////
                ds = new DataSet();
                DataTable masterTable = new DataTable();


                //corresponde al rubro
                masterTable.Columns.Add("PLN_ID", typeof(Decimal));
                masterTable.Columns.Add("PND_ID", typeof(Decimal));
                masterTable.Columns.Add("CLS_ID", typeof(Decimal));
                masterTable.Columns.Add("CLS_NOMBRE", typeof(String));
                //corresponde a Dependencia
                masterTable.Columns.Add("DEP_ID", typeof(String));

                masterTable.Columns.Add("PLN_ANO", typeof(String));
                masterTable.Columns.Add("PLN_NOMBRE", typeof(String));
                masterTable.Columns.Add("PLN_CODIGO_PRESUPUESTAL", typeof(String));
                masterTable.Columns.Add("PLN_VALOR_APROPIACION", typeof(String));




                masterTable.PrimaryKey = new DataColumn[] { masterTable.Columns["PLN_ID"] };

                ds.Tables.AddRange(new DataTable[] { masterTable });
                //Session["DataSetRiesgos"] = dsRiesgos;



                DataClassesServiciosWebDataContext contexto = new DataClassesServiciosWebDataContext(ConfigurationManager.AppSettings["Conn"].ToString());
                var datos = (from a in contexto.SIG_PLAN_ACCIONs
                             join b in contexto.BAS_DEPENDENCIAs on a.DEP_ID equals b.DEP_ID
                             join c in contexto.SIG_TIPO_CLASIFICACIONs on a.CLS_ID equals c.CLS_ID
                             //join d in contexto.BAS_TIPOS_DOCUMENTOS_IDENTIDADs on a.DOC_ID_ENTIDAD equals d.DOC_ID
                             where a.DEP_ID == strDepId
                             select new
                             {
                                 a.PLN_ID,
                                 a.PND_ID,
                                 a.CLS_ID,
                                 c.CLS_NOMBRE,
                                 a.DEP_ID,
                                 a.PLN_ANO,
                                 a.PLN_NOMBRE,
                                 a.PLN_CODIGO_PRESUPUESTAL,
                                 a.PLN_VALOR_APROPIACION
                             }
                             );


                if (ConfigurationManager.AppSettings["Usuario"].ToString() == user && ConfigurationManager.AppSettings["Clave"].ToString() == clave)
                    foreach (var v in datos)
                    {
                        DataRow row = ds.Tables[0].NewRow();
                        row["PLN_ID"] = v.PLN_ID;
                        row["PND_ID"] = v.PND_ID;
                        row["CLS_ID"] = v.CLS_ID;
                        row["CLS_NOMBRE"] = v.CLS_NOMBRE;
                        row["DEP_ID"] = v.DEP_ID;
                        row["PLN_ANO"] = v.PLN_ANO;
                        row["PLN_NOMBRE"] = v.PLN_NOMBRE;
                        row["PLN_CODIGO_PRESUPUESTAL"] = v.PLN_CODIGO_PRESUPUESTAL;
                        row["PLN_VALOR_APROPIACION"] = v.PLN_VALOR_APROPIACION;
                        ds.Tables[0].Rows.Add(row);
                    }


            }
            catch (Exception ex)
            {

                string strAlgo = ex.Message.ToString();
            }

            return ds.Tables[0];
        }


        [WebMethod]
        public DataTable ConsultarRubrosPresupuestalesPlnAno(string user, string clave, string strPlnAno)
        {
            DataSet ds = null;
            try
            {

                /////////////////////////////////////////////////////
                //                 DEPENDENCIA
                /////////////////////////////////////////////////////
                ds = new DataSet();
                DataTable masterTable = new DataTable();


                //corresponde al rubro
                masterTable.Columns.Add("PLN_ID", typeof(Decimal));
                masterTable.Columns.Add("PND_ID", typeof(Decimal));
                masterTable.Columns.Add("CLS_ID", typeof(Decimal));
                masterTable.Columns.Add("CLS_NOMBRE", typeof(String));
                //corresponde a Dependencia
                masterTable.Columns.Add("DEP_ID", typeof(String));

                masterTable.Columns.Add("PLN_ANO", typeof(String));
                masterTable.Columns.Add("PLN_NOMBRE", typeof(String));
                masterTable.Columns.Add("PLN_CODIGO_PRESUPUESTAL", typeof(String));
                masterTable.Columns.Add("PLN_VALOR_APROPIACION", typeof(String));




                masterTable.PrimaryKey = new DataColumn[] { masterTable.Columns["PLN_ID"] };

                ds.Tables.AddRange(new DataTable[] { masterTable });
                //Session["DataSetRiesgos"] = dsRiesgos;



                DataClassesServiciosWebDataContext contexto = new DataClassesServiciosWebDataContext(ConfigurationManager.AppSettings["Conn"].ToString());
                var datos = (from a in contexto.SIG_PLAN_ACCIONs
                             join b in contexto.BAS_DEPENDENCIAs on a.DEP_ID equals b.DEP_ID
                             join c in contexto.SIG_TIPO_CLASIFICACIONs on a.CLS_ID equals c.CLS_ID
                             //join d in contexto.BAS_TIPOS_DOCUMENTOS_IDENTIDADs on a.DOC_ID_ENTIDAD equals d.DOC_ID
                             where a.PLN_ANO == Convert.ToDecimal(strPlnAno)
                             select new
                             {
                                 a.PLN_ID,
                                 a.PND_ID,
                                 a.CLS_ID,
                                 c.CLS_NOMBRE,
                                 a.DEP_ID,
                                 a.PLN_ANO,
                                 a.PLN_NOMBRE,
                                 a.PLN_CODIGO_PRESUPUESTAL,
                                 a.PLN_VALOR_APROPIACION
                             }
                             );


                if (ConfigurationManager.AppSettings["Usuario"].ToString() == user && ConfigurationManager.AppSettings["Clave"].ToString() == clave)
                    foreach (var v in datos)
                    {
                        DataRow row = ds.Tables[0].NewRow();
                        row["PLN_ID"] = v.PLN_ID;
                        row["PND_ID"] = v.PND_ID;
                        row["CLS_ID"] = v.CLS_ID;
                        row["CLS_NOMBRE"] = v.CLS_NOMBRE;
                        row["DEP_ID"] = v.DEP_ID;
                        row["PLN_ANO"] = v.PLN_ANO;
                        row["PLN_NOMBRE"] = v.PLN_NOMBRE;
                        row["PLN_CODIGO_PRESUPUESTAL"] = v.PLN_CODIGO_PRESUPUESTAL;
                        row["PLN_VALOR_APROPIACION"] = v.PLN_VALOR_APROPIACION;
                        ds.Tables[0].Rows.Add(row);
                    }


            }
            catch (Exception ex)
            {

                string strAlgo = ex.Message.ToString();
            }

            return ds.Tables[0];
        }


        [WebMethod]
        public DataTable ConsultarRubrosPresupuestalesPlnCodigoPresupuestal(string user, string clave, string strPlnCodigoPresupuestal)
        {
            DataSet ds = null;
            try
            {

                /////////////////////////////////////////////////////
                //                 DEPENDENCIA
                /////////////////////////////////////////////////////
                ds = new DataSet();
                DataTable masterTable = new DataTable();


                //corresponde al rubro
                masterTable.Columns.Add("PLN_ID", typeof(Decimal));
                masterTable.Columns.Add("PND_ID", typeof(Decimal));
                masterTable.Columns.Add("CLS_ID", typeof(Decimal));
                masterTable.Columns.Add("CLS_NOMBRE", typeof(String));
                //corresponde a Dependencia
                masterTable.Columns.Add("DEP_ID", typeof(String));

                masterTable.Columns.Add("PLN_ANO", typeof(String));
                masterTable.Columns.Add("PLN_NOMBRE", typeof(String));
                masterTable.Columns.Add("PLN_CODIGO_PRESUPUESTAL", typeof(String));
                masterTable.Columns.Add("PLN_VALOR_APROPIACION", typeof(String));




                masterTable.PrimaryKey = new DataColumn[] { masterTable.Columns["PLN_ID"] };

                ds.Tables.AddRange(new DataTable[] { masterTable });
                //Session["DataSetRiesgos"] = dsRiesgos;



                DataClassesServiciosWebDataContext contexto = new DataClassesServiciosWebDataContext(ConfigurationManager.AppSettings["Conn"].ToString());
                var datos = (from a in contexto.SIG_PLAN_ACCIONs
                             join b in contexto.BAS_DEPENDENCIAs on a.DEP_ID equals b.DEP_ID
                             join c in contexto.SIG_TIPO_CLASIFICACIONs on a.CLS_ID equals c.CLS_ID
                             //join d in contexto.BAS_TIPOS_DOCUMENTOS_IDENTIDADs on a.DOC_ID_ENTIDAD equals d.DOC_ID
                             where a.PLN_CODIGO_PRESUPUESTAL == strPlnCodigoPresupuestal
                             select new
                             {
                                 a.PLN_ID,
                                 a.PND_ID,
                                 a.CLS_ID,
                                 c.CLS_NOMBRE,
                                 a.DEP_ID,
                                 a.PLN_ANO,
                                 a.PLN_NOMBRE,
                                 a.PLN_CODIGO_PRESUPUESTAL,
                                 a.PLN_VALOR_APROPIACION
                             }
                             );


                if (ConfigurationManager.AppSettings["Usuario"].ToString() == user && ConfigurationManager.AppSettings["Clave"].ToString() == clave)
                    foreach (var v in datos)
                    {
                        DataRow row = ds.Tables[0].NewRow();
                        row["PLN_ID"] = v.PLN_ID;
                        row["PND_ID"] = v.PND_ID;
                        row["CLS_ID"] = v.CLS_ID;
                        row["CLS_NOMBRE"] = v.CLS_NOMBRE;
                        row["DEP_ID"] = v.DEP_ID;
                        row["PLN_ANO"] = v.PLN_ANO;
                        row["PLN_NOMBRE"] = v.PLN_NOMBRE;
                        row["PLN_CODIGO_PRESUPUESTAL"] = v.PLN_CODIGO_PRESUPUESTAL;
                        row["PLN_VALOR_APROPIACION"] = v.PLN_VALOR_APROPIACION;
                        ds.Tables[0].Rows.Add(row);
                    }


            }
            catch (Exception ex)
            {

                string strAlgo = ex.Message.ToString();
            }

            return ds.Tables[0];
        }

        [WebMethod]
        public DataTable ConsultarContratistas(string user, string clave)
        {
            DataSet ds = null;
            try
            {

                /////////////////////////////////////////////////////
                //                 DEPENDENCIA
                /////////////////////////////////////////////////////
                ds = new DataSet();
                DataTable masterTable = new DataTable();


                //corresponde al rubro
                masterTable.Columns.Add("FAE_ID", typeof(Decimal));
                masterTable.Columns.Add("CCO_IDENTIFICACION", typeof(String));
                masterTable.Columns.Add("CCO_NOMBRE", typeof(String));
                masterTable.Columns.Add("CCO_COREO_ELECTRONICO", typeof(String));
                masterTable.Columns.Add("DEP_ID", typeof(decimal));
                //corresponde a Dependencia
                masterTable.Columns.Add("DEP_NOMBRE", typeof(String));

                masterTable.Columns.Add("CCO_PROFESION", typeof(String));
                masterTable.Columns.Add("CTT_NUMERO_CONTRATO", typeof(String));
                masterTable.Columns.Add("CTT_VALOR_CONTRATO", typeof(Decimal));
                masterTable.Columns.Add("CTT_VALOR_CONTRATO_MENSUAL", typeof(Decimal));
                masterTable.Columns.Add("FAE_PLAZO_EJECUCION", typeof(String));
                masterTable.Columns.Add("CTT_FECHA_INICIO", typeof(String));
                masterTable.Columns.Add("CTT_FECHA_TERMINACION", typeof(String));
                masterTable.Columns.Add("FAE_NUMERO_CDP", typeof(String));
                masterTable.Columns.Add("PLN_ID", typeof(String));
                masterTable.Columns.Add("PLN_ANO", typeof(Int32));




                masterTable.PrimaryKey = new DataColumn[] { masterTable.Columns["FAE_ID"] };

                ds.Tables.AddRange(new DataTable[] { masterTable });
                //Session["DataSetRiesgos"] = dsRiesgos;



                DataClassesServiciosWebDataContext contexto = new DataClassesServiciosWebDataContext(ConfigurationManager.AppSettings["Conn"].ToString());
                var datos = (from a in contexto.PAS_CONSULTAR_CONTRATISTAS_WS("","","",0)
                        
                             select a
                             );


                if (ConfigurationManager.AppSettings["Usuario"].ToString() == user && ConfigurationManager.AppSettings["Clave"].ToString() == clave)
                    foreach (var v in datos)
                    {
                        DataRow row = ds.Tables[0].NewRow();
                        row["FAE_ID"] = v.FAE_ID;
                        row["CCO_IDENTIFICACION"] = v.CCO_IDENTIFICACION;
                        row["CCO_NOMBRE"] = v.CCO_NOMBRE;
                        row["CCO_COREO_ELECTRONICO"] = v.CCO_COREO_ELECTRONICO;
                        row["DEP_ID"] = v.DEP_ID;
                        row["DEP_NOMBRE"] = v.DEP_NOMBRE;

                        if (v.CCO_PROFESION != null)
                            row["CCO_PROFESION"] = v.CCO_PROFESION;

                        if (v.CTT_NUMERO_CONTRATO != null)
                            row["CTT_NUMERO_CONTRATO"] = v.CTT_NUMERO_CONTRATO;

                        if( v.CTT_VALOR_CONTRATO != null)
                            row["CTT_VALOR_CONTRATO"] = v.CTT_VALOR_CONTRATO;

                        if (v.CTT_VALOR_CONTRATO_MENSUAL != null)
                            row["CTT_VALOR_CONTRATO_MENSUAL"] = v.CTT_VALOR_CONTRATO_MENSUAL;

                        if (v.FAE_PLAZO_EJECUCION != null)
                            row["FAE_PLAZO_EJECUCION"] = v.FAE_PLAZO_EJECUCION;

                        if (v.CTT_FECHA_INICIO != null)
                            row["CTT_FECHA_INICIO"] = v.CTT_FECHA_INICIO;

                        if (v.CTT_FECHA_TERMINACION != null)
                            row["CTT_FECHA_TERMINACION"] = v.CTT_FECHA_TERMINACION;

                        if (v.FAE_NUMERO_CDP != null)
                            row["FAE_NUMERO_CDP"] = v.FAE_NUMERO_CDP;

                        if (v.PLN_ID != null)
                            row["PLN_ID"] = v.PLN_ID;

                        if (v.PLN_ANO != null)
                            row["PLN_ANO"] = v.PLN_ANO;
                        ds.Tables[0].Rows.Add(row);
                    }


            }
            catch (Exception ex)
            {

                string strAlgo = ex.Message.ToString();
            }

            return ds.Tables[0];
        }


        [WebMethod]
        public DataTable ConsultarContratistasNombre(string user, string clave, string strNombre)
        {
            DataSet ds = null;
            try
            {

                /////////////////////////////////////////////////////
                //                 DEPENDENCIA
                /////////////////////////////////////////////////////
                ds = new DataSet();
                DataTable masterTable = new DataTable();


                //corresponde al rubro
                masterTable.Columns.Add("FAE_ID", typeof(Decimal));
                masterTable.Columns.Add("CCO_IDENTIFICACION", typeof(String));
                masterTable.Columns.Add("CCO_NOMBRE", typeof(String));
                masterTable.Columns.Add("CCO_COREO_ELECTRONICO", typeof(String));
                masterTable.Columns.Add("DEP_ID", typeof(decimal));
                //corresponde a Dependencia
                masterTable.Columns.Add("DEP_NOMBRE", typeof(String));

                masterTable.Columns.Add("CCO_PROFESION", typeof(String));
                masterTable.Columns.Add("CTT_NUMERO_CONTRATO", typeof(String));
                masterTable.Columns.Add("CTT_VALOR_CONTRATO", typeof(Decimal));
                masterTable.Columns.Add("CTT_VALOR_CONTRATO_MENSUAL", typeof(Decimal));
                masterTable.Columns.Add("FAE_PLAZO_EJECUCION", typeof(String));
                masterTable.Columns.Add("CTT_FECHA_INICIO", typeof(String));
                masterTable.Columns.Add("CTT_FECHA_TERMINACION", typeof(String));
                masterTable.Columns.Add("FAE_NUMERO_CDP", typeof(String));
                masterTable.Columns.Add("PLN_ID", typeof(String));
                masterTable.Columns.Add("PLN_ANO", typeof(Int32));




                masterTable.PrimaryKey = new DataColumn[] { masterTable.Columns["FAE_ID"] };

                ds.Tables.AddRange(new DataTable[] { masterTable });
                //Session["DataSetRiesgos"] = dsRiesgos;



                DataClassesServiciosWebDataContext contexto = new DataClassesServiciosWebDataContext(ConfigurationManager.AppSettings["Conn"].ToString());
                var datos = (from a in contexto.PAS_CONSULTAR_CONTRATISTAS_WS(strNombre, "", "", 0)

                             select a
                             );


                if (ConfigurationManager.AppSettings["Usuario"].ToString() == user && ConfigurationManager.AppSettings["Clave"].ToString() == clave)
                    foreach (var v in datos)
                    {
                        DataRow row = ds.Tables[0].NewRow();
                        row["FAE_ID"] = v.FAE_ID;
                        row["CCO_IDENTIFICACION"] = v.CCO_IDENTIFICACION;
                        row["CCO_NOMBRE"] = v.CCO_NOMBRE;
                        row["CCO_COREO_ELECTRONICO"] = v.CCO_COREO_ELECTRONICO;
                        row["DEP_ID"] = v.DEP_ID;
                        row["DEP_NOMBRE"] = v.DEP_NOMBRE;

                        if (v.CCO_PROFESION != null)
                            row["CCO_PROFESION"] = v.CCO_PROFESION;

                        if (v.CTT_NUMERO_CONTRATO != null)
                            row["CTT_NUMERO_CONTRATO"] = v.CTT_NUMERO_CONTRATO;

                        if (v.CTT_VALOR_CONTRATO != null)
                            row["CTT_VALOR_CONTRATO"] = v.CTT_VALOR_CONTRATO;

                        if (v.CTT_VALOR_CONTRATO_MENSUAL != null)
                            row["CTT_VALOR_CONTRATO_MENSUAL"] = v.CTT_VALOR_CONTRATO_MENSUAL;

                        if (v.FAE_PLAZO_EJECUCION != null)
                            row["FAE_PLAZO_EJECUCION"] = v.FAE_PLAZO_EJECUCION;

                        if (v.CTT_FECHA_INICIO != null)
                            row["CTT_FECHA_INICIO"] = v.CTT_FECHA_INICIO;

                        if (v.CTT_FECHA_TERMINACION != null)
                            row["CTT_FECHA_TERMINACION"] = v.CTT_FECHA_TERMINACION;

                        if (v.FAE_NUMERO_CDP != null)
                            row["FAE_NUMERO_CDP"] = v.FAE_NUMERO_CDP;

                        if (v.PLN_ID != null)
                            row["PLN_ID"] = v.PLN_ID;

                        if (v.PLN_ANO != null)
                            row["PLN_ANO"] = v.PLN_ANO;
                        ds.Tables[0].Rows.Add(row);
                    }


            }
            catch (Exception ex)
            {

                string strAlgo = ex.Message.ToString();
            }

            return ds.Tables[0];
        }

        [WebMethod]
        public DataTable ConsultarContratistasIdentificacion(string user, string clave, string strCCoNumeroIdentificacion)
        {
            DataSet ds = null;
            try
            {

                /////////////////////////////////////////////////////
                //                 DEPENDENCIA
                /////////////////////////////////////////////////////
                ds = new DataSet();
                DataTable masterTable = new DataTable();


                //corresponde al rubro
                masterTable.Columns.Add("FAE_ID", typeof(Decimal));
                masterTable.Columns.Add("CCO_IDENTIFICACION", typeof(String));
                masterTable.Columns.Add("CCO_NOMBRE", typeof(String));
                masterTable.Columns.Add("CCO_COREO_ELECTRONICO", typeof(String));
                masterTable.Columns.Add("DEP_ID", typeof(decimal));
                //corresponde a Dependencia
                masterTable.Columns.Add("DEP_NOMBRE", typeof(String));

                masterTable.Columns.Add("CCO_PROFESION", typeof(String));
                masterTable.Columns.Add("CTT_NUMERO_CONTRATO", typeof(String));
                masterTable.Columns.Add("CTT_VALOR_CONTRATO", typeof(Decimal));
                masterTable.Columns.Add("CTT_VALOR_CONTRATO_MENSUAL", typeof(Decimal));
                masterTable.Columns.Add("FAE_PLAZO_EJECUCION", typeof(String));
                masterTable.Columns.Add("CTT_FECHA_INICIO", typeof(String));
                masterTable.Columns.Add("CTT_FECHA_TERMINACION", typeof(String));
                masterTable.Columns.Add("FAE_NUMERO_CDP", typeof(String));
                masterTable.Columns.Add("PLN_ID", typeof(String));
                masterTable.Columns.Add("PLN_ANO", typeof(Int32));




                masterTable.PrimaryKey = new DataColumn[] { masterTable.Columns["FAE_ID"] };

                ds.Tables.AddRange(new DataTable[] { masterTable });
                //Session["DataSetRiesgos"] = dsRiesgos;



                DataClassesServiciosWebDataContext contexto = new DataClassesServiciosWebDataContext(ConfigurationManager.AppSettings["Conn"].ToString());
                var datos = (from a in contexto.PAS_CONSULTAR_CONTRATISTAS_WS("", strCCoNumeroIdentificacion, "", 0)

                             select a
                             );


                if (ConfigurationManager.AppSettings["Usuario"].ToString() == user && ConfigurationManager.AppSettings["Clave"].ToString() == clave)
                    foreach (var v in datos)
                    {
                        DataRow row = ds.Tables[0].NewRow();
                        row["FAE_ID"] = v.FAE_ID;
                        row["CCO_IDENTIFICACION"] = v.CCO_IDENTIFICACION;
                        row["CCO_NOMBRE"] = v.CCO_NOMBRE;
                        row["CCO_COREO_ELECTRONICO"] = v.CCO_COREO_ELECTRONICO;
                        row["DEP_ID"] = v.DEP_ID;
                        row["DEP_NOMBRE"] = v.DEP_NOMBRE;

                        if (v.CCO_PROFESION != null)
                            row["CCO_PROFESION"] = v.CCO_PROFESION;

                        if (v.CTT_NUMERO_CONTRATO != null)
                            row["CTT_NUMERO_CONTRATO"] = v.CTT_NUMERO_CONTRATO;

                        if (v.CTT_VALOR_CONTRATO != null)
                            row["CTT_VALOR_CONTRATO"] = v.CTT_VALOR_CONTRATO;

                        if (v.CTT_VALOR_CONTRATO_MENSUAL != null)
                            row["CTT_VALOR_CONTRATO_MENSUAL"] = v.CTT_VALOR_CONTRATO_MENSUAL;

                        if (v.FAE_PLAZO_EJECUCION != null)
                            row["FAE_PLAZO_EJECUCION"] = v.FAE_PLAZO_EJECUCION;

                        if (v.CTT_FECHA_INICIO != null)
                            row["CTT_FECHA_INICIO"] = v.CTT_FECHA_INICIO;

                        if (v.CTT_FECHA_TERMINACION != null)
                            row["CTT_FECHA_TERMINACION"] = v.CTT_FECHA_TERMINACION;

                        if (v.FAE_NUMERO_CDP != null)
                            row["FAE_NUMERO_CDP"] = v.FAE_NUMERO_CDP;

                        if (v.PLN_ID != null)
                            row["PLN_ID"] = v.PLN_ID;

                        if (v.PLN_ANO != null)
                            row["PLN_ANO"] = v.PLN_ANO;
                        ds.Tables[0].Rows.Add(row);
                    }


            }
            catch (Exception ex)
            {

                string strAlgo = ex.Message.ToString();
            }

            return ds.Tables[0];
        }



        [WebMethod]
        public DataTable ConsultarContratistasNumeroContrato(string user, string clave, string strNumeroContrato)
        {
            DataSet ds = null;
            try
            {

                /////////////////////////////////////////////////////
                //                 DEPENDENCIA
                /////////////////////////////////////////////////////
                ds = new DataSet();
                DataTable masterTable = new DataTable();


                //corresponde al rubro
                masterTable.Columns.Add("FAE_ID", typeof(Decimal));
                masterTable.Columns.Add("CCO_IDENTIFICACION", typeof(String));
                masterTable.Columns.Add("CCO_NOMBRE", typeof(String));
                masterTable.Columns.Add("CCO_COREO_ELECTRONICO", typeof(String));
                masterTable.Columns.Add("DEP_ID", typeof(decimal));
                //corresponde a Dependencia
                masterTable.Columns.Add("DEP_NOMBRE", typeof(String));

                masterTable.Columns.Add("CCO_PROFESION", typeof(String));
                masterTable.Columns.Add("CTT_NUMERO_CONTRATO", typeof(String));
                masterTable.Columns.Add("CTT_VALOR_CONTRATO", typeof(Decimal));
                masterTable.Columns.Add("CTT_VALOR_CONTRATO_MENSUAL", typeof(Decimal));
                masterTable.Columns.Add("FAE_PLAZO_EJECUCION", typeof(String));
                masterTable.Columns.Add("CTT_FECHA_INICIO", typeof(String));
                masterTable.Columns.Add("CTT_FECHA_TERMINACION", typeof(String));
                masterTable.Columns.Add("FAE_NUMERO_CDP", typeof(String));
                masterTable.Columns.Add("PLN_ID", typeof(String));
                masterTable.Columns.Add("PLN_ANO", typeof(Int32));




                masterTable.PrimaryKey = new DataColumn[] { masterTable.Columns["FAE_ID"] };

                ds.Tables.AddRange(new DataTable[] { masterTable });
                //Session["DataSetRiesgos"] = dsRiesgos;



                DataClassesServiciosWebDataContext contexto = new DataClassesServiciosWebDataContext(ConfigurationManager.AppSettings["Conn"].ToString());
                var datos = (from a in contexto.PAS_CONSULTAR_CONTRATISTAS_WS("", "", strNumeroContrato, 0)

                             select a
                             );


                if (ConfigurationManager.AppSettings["Usuario"].ToString() == user && ConfigurationManager.AppSettings["Clave"].ToString() == clave)
                    foreach (var v in datos)
                    {
                        DataRow row = ds.Tables[0].NewRow();
                        row["FAE_ID"] = v.FAE_ID;
                        row["CCO_IDENTIFICACION"] = v.CCO_IDENTIFICACION;
                        row["CCO_NOMBRE"] = v.CCO_NOMBRE;
                        row["CCO_COREO_ELECTRONICO"] = v.CCO_COREO_ELECTRONICO;
                        row["DEP_ID"] = v.DEP_ID;
                        row["DEP_NOMBRE"] = v.DEP_NOMBRE;

                        if (v.CCO_PROFESION != null)
                            row["CCO_PROFESION"] = v.CCO_PROFESION;

                        if (v.CTT_NUMERO_CONTRATO != null)
                            row["CTT_NUMERO_CONTRATO"] = v.CTT_NUMERO_CONTRATO;

                        if (v.CTT_VALOR_CONTRATO != null)
                            row["CTT_VALOR_CONTRATO"] = v.CTT_VALOR_CONTRATO;

                        if (v.CTT_VALOR_CONTRATO_MENSUAL != null)
                            row["CTT_VALOR_CONTRATO_MENSUAL"] = v.CTT_VALOR_CONTRATO_MENSUAL;

                        if (v.FAE_PLAZO_EJECUCION != null)
                            row["FAE_PLAZO_EJECUCION"] = v.FAE_PLAZO_EJECUCION;

                        if (v.CTT_FECHA_INICIO != null)
                            row["CTT_FECHA_INICIO"] = v.CTT_FECHA_INICIO;

                        if (v.CTT_FECHA_TERMINACION != null)
                            row["CTT_FECHA_TERMINACION"] = v.CTT_FECHA_TERMINACION;

                        if (v.FAE_NUMERO_CDP != null)
                            row["FAE_NUMERO_CDP"] = v.FAE_NUMERO_CDP;

                        if (v.PLN_ID != null)
                            row["PLN_ID"] = v.PLN_ID;

                        if (v.PLN_ANO != null)
                            row["PLN_ANO"] = v.PLN_ANO;
                        ds.Tables[0].Rows.Add(row);
                    }


            }
            catch (Exception ex)
            {

                string strAlgo = ex.Message.ToString();
            }

            return ds.Tables[0];
        }

        [WebMethod]
        public DataTable ConsultarRubroCdpEp(string user, string clave)
        {
            DataSet ds = null;
            try
            {

                /////////////////////////////////////////////////////
                //                 DEPENDENCIA
                /////////////////////////////////////////////////////
                ds = new DataSet();
                DataTable masterTable = new DataTable();
                //corresponde al rubro
                masterTable.Columns.Add("FAE_ID", typeof(Decimal));
                masterTable.Columns.Add("PLN_ID", typeof(Decimal));
                masterTable.Columns.Add("PLN_ANO", typeof(Decimal));
                masterTable.Columns.Add("PLN_NOMBRE", typeof(String));
                masterTable.Columns.Add("FAE_NUMEROEPE", typeof(String));
                masterTable.Columns.Add("FAE_FECHA", typeof(String));
                masterTable.Columns.Add("FAE_VALOR_EPE", typeof(Decimal));
                masterTable.Columns.Add("FAE_NUMERO_CDP", typeof(String));
                masterTable.Columns.Add("FAE_VALOR_CDP", typeof(Decimal));
                masterTable.Columns.Add("FAE_FECHA_EPE", typeof(String));
                masterTable.Columns.Add("FAE_FECHA_CDP", typeof(String));
                masterTable.Columns.Add("TPE_ID", typeof(String));
                masterTable.PrimaryKey = new DataColumn[] { masterTable.Columns["FAE_ID"] };
                ds.Tables.AddRange(new DataTable[] { masterTable });
                DataClassesServiciosWebDataContext contexto = new DataClassesServiciosWebDataContext(ConfigurationManager.AppSettings["Conn"].ToString());
                var datos = (from a in contexto.PAS_CONSULTAR_CDP_WS()

                             select a
                             );
                if (ConfigurationManager.AppSettings["Usuario"].ToString() == user && ConfigurationManager.AppSettings["Clave"].ToString() == clave)
                    foreach (var v in datos)
                    {
                        DataRow row = ds.Tables[0].NewRow();
                        row["FAE_ID"] = v.FAE_ID;
                        row["PLN_ID"] = v.PLN_ID;
                        row["PLN_ANO"] = v.PLN_ANO;
                        row["PLN_NOMBRE"] = v.PLN_NOMBRE;
                        if (v.FAE_NUMEROEPE != null)
                        row["FAE_NUMEROEPE"] = v.FAE_NUMEROEPE;
                        if (v.FAE_FECHA != null)
                        row["FAE_FECHA"] = v.FAE_FECHA;
                        if (v.FAE_VALOR_EPE != null)
                        row["FAE_VALOR_EPE"] = v.FAE_VALOR_EPE;
                        if (v.FAE_NUMERO_CDP != null)
                        row["FAE_NUMERO_CDP"] = v.FAE_NUMERO_CDP;
                        if (v.FAE_VALOR_CDP != null)
                            row["FAE_VALOR_CDP"] = v.FAE_VALOR_CDP;
                        if (v.FAE_FECHA_EPE != null)
                        row["FAE_FECHA_EPE"] = v.FAE_FECHA_EPE;
                        if (v.FAE_FECHA_EPE != null)
                        row["FAE_FECHA_CDP"] = v.FAE_FECHA_EPE;
                        if (v.TPE_ID != null)
                        row["TPE_ID"] = v.TPE_ID;
                        ds.Tables[0].Rows.Add(row);
                    }

            }
            catch (Exception ex)
            {

                string strAlgo = ex.Message.ToString();
            }

            return ds.Tables[0];
        }

    }
}
